from enum import Enum
from api_py.enums.method import Method


class API(Enum):

    # 用户相关API

    # 接口1 后台用户登录接口
    API01_AUTH_LOGIN = {
        "file_name" : "api01_auth_login",
        "method" : Method.POST,
        "url" : "/auth/login"
    },

    # 接口2 后台用户注销接口
    API02_LOGOUT = {
        "file_name" : "api02_logout",
        "method" : Method.POST,
        "url" : "/logout"
    },

    #
    AUTH_WX_APPID_LOGIN_POST = {
        "file_name" : "auth_wx_appid_login_post",
        "method" : Method.POST,
        "url" : "/auth/wx/{appid}/login"
    },

    # 接口4 获取当前登录用户信息
    API04_AUTH_ME = {
        "file_name" : "api04_auth_me",
        "method" : Method.GET,
        "url" : "/auth/me"
    },

    API05_USER_MS = {
        "file_name" : "api05_user_ms",
        "method" : Method.PUT,
        "url" : "/user/ms"
    },

    # 接口6 分页获取用户列表
    API06_USER_LIST = {
        "file_name" : "api06_user_list",
        "method" : Method.GET,
        "url" : "/user/list"
    },

    WX_USER_APPID_PHONE_POST = {"file_name" : "wx_user_appid_phone_post", "method" : Method.POST, "url" : "/wx/user/{appid}/phone"},

    # 接口8 添加督导用户
    API08_USER_MS_SUPERVISOR = {
        "file_name" : "api08_user_ms_supervisor",
        "method" : Method.PUT,
        "url" : "/user/ms/supervisor"
    },

    # 接口9 添加咨询师用户
    API09_USER_MS_COUNSELOR = {
        "file_name" : "api09_user_ms_counselor",
        "method" : Method.PUT,
        "url" : "/user/ms/counselor"
    },

    # 接口10 获取督导列表
    API10_1_USER_MS_SUPERVISOR_LIST = {
        "file_name" : "api10_1_user_ms_supervisor_list",
        "method" : Method.GET,
        "url" : "/user/ms/supervisor/list"
    },

    # 接口10.2 获取咨询师列表
    API10_2_USER_MS_COUNSELOR_LIST = {
        "file_name": "api10_2_user_ms_counselor_list",
        "method": Method.GET,
        "url": "/user/ms/counselor/list"
    },

    API11_USER_MS_SUPERVISOR = {
        "file_name" : "api11_user_ms_supervisor",
        "method" : Method.POST,
        "url" : "/user/ms/supervisor"
    },

    # 接口12 修改咨询师
    API12_USER_MS_COUNSELOR = {
        "file_name" : "api12_user_ms_counselor",
        "method" : Method.POST,
        "url" : "/user/ms/counselor"
    },

    # 接口13 删除督导
    API13_USER_MS_SUPERVISOR = {
        "file_name" : "api13_user_ms_supervisor",
        "method" : Method.DELETE,
        "url" : "/user/ms/supervisor/{username}"
    },

    # 接口14 删除咨询师
    API14_USER_MS_COUNSELOR = {
        "file_name" : "API14_user_ms_counselor",
        "method" : Method.DELETE,
        "url" : "/user/ms/counselor/{username}"
    },

    # 接口15 禁用访客
    API15_USER_BAN = {
        "file_name" : "api15_user_ban",
        "method" : Method.POST,
        "url" : "/user/ban/{userId}"
    },

    # 接口15 禁用访客
    API16_USER_LIST = {
        "file_name": "api16_user_list",
        "method": Method.GET,
        "url": "/user/list"
    },

    # 接口17 修改密码
    API17_USER_PASSWORD = {
        "file_name" : "api17_user_password",
        "method" : Method.POST,
        "url" : "/user/password"
    },

    # 接口18 更新访客信息
    API18_USER_UPDATE = {
        "file_name" : "api18_user_update",
        "method" : Method.POST,
        "url" : "/user/update"
    },

    # 接口20 启⽤访客
    API20_USER_ACTIVE = {
        "file_name" : "api20_user_active",
        "method" : Method.POST,
        "url" : "/user/active/{id}"
    },

    # 接口21 修改咨询师最⼤咨询⼈数
    API21_USER_MAXCONSULTS = {
        "file_name" : "api21_user_maxconsults",
        "method" : Method.POST,
        "url" : "/user/maxconsults"
    },

    ####################################################################
    # 排班API

    # 接口22 创建排班
    API22_ARRANGE = {
        "file_name" : "api22_arrange",
        "method" : Method.PUT,
        "url" : "/arrange"
    },

    # 接口23 批量排班
    API23_ARRANGE_BATCH = {
        "file_name" : "api23_arrange_batch",
        "method" : Method.POST,
        "url" : "/arrange/batch"
    },

    # 接口24 获取当天在线的值班⼈员
    API24_ARRANGE_THEDAY = {
        "file_name" : "api24_arrange_theday",
        "method" : Method.GET,
        "url" : "/arrange/theday"
    },

    # 接口25 移除咨询师/督导排班记录
    API25_ARRANGE = {
        "file_name" : "api25_arrange",
        "method" : Method.DELETE,
        "url" : "/arrange/{id}"
    },